package com.ruoyi.system.mapper;

import java.util.List;
import java.util.Map;

import com.ruoyi.system.domain.GzdsGrade;
import com.ruoyi.system.domain.bo.GzdsGradeBO;
import org.apache.ibatis.annotations.Param;

/**
 * 成绩管理Mapper接口
 *
 * @author ruoyi
 * @date 2021-04-20
 */
public interface GzdsGradeMapper
{
    /**
     * 查询成绩管理
     *
     * @param code 成绩管理ID
     * @return 成绩管理
     */
    public GzdsGrade selectGzdsGradeById(Long code);

    /**
     * 查询成绩管理列表
     *
     * @param gzdsGrade 成绩管理
     * @return 成绩管理集合
     */
    public List<GzdsGrade> selectGzdsGradeList(GzdsGrade gzdsGrade);

    /**
     * 新增成绩管理
     *
     * @param gzdsGrade 成绩管理
     * @return 结果
     */
    public int insertGzdsGrade(GzdsGrade gzdsGrade);

    /**
     * 修改成绩管理
     *
     * @param gzdsGrade 成绩管理
     * @return 结果
     */
    public int updateGzdsGrade(GzdsGrade gzdsGrade);

    /**
     * 删除成绩管理
     *
     * @param code 成绩管理ID
     * @return 结果
     */
    public int deleteGzdsGradeById(Long code);

    /**
     * 批量删除成绩管理
     *
     * @param codes 需要删除的数据ID
     * @return 结果
     */
    public int deleteGzdsGradeByIds(Long[] codes);

    /**
     * 查询成绩管理
     *
     * @param banklevel 成绩管理ID
     * @return 成绩管理
     */
    public List<GzdsGrade> selectGzdsGradeNameNumber(@Param("banklevel")String banklevel, @Param("name")String name, @Param("phoneNumber")String phoneNumber);


    public List<GzdsGradeBO> getGradeRankList(Map<String, Object> paraMap);

    public Integer getGradeRankCount(Map<String, Object> paraMap);

    /**
     * 根据用户ID查询用户排名等基本信息
     * @param paraMap
     * @return
     */
    public GzdsGradeBO getGradeRankByCode(Map<String, Object> paraMap);

    /**
     * 根据用户姓名查询用户排名等基本信息
     * @param paraMap
     * @return
     */
    public GzdsGradeBO getGradeRankByName(Map<String, Object> paraMap);

}
